なぜpull request概要欄をAI使わず人力で書いているのか (shokai)
楽だからですshokai.icon
AIにはドキュメントとコードの読み合わせをやってもらう
sanity-reviewや、pull requestの概要欄とレビューコメントを書きました。間違いや説明不足な点があれば指摘してくださいなど、正気を疑うツールが使える状態になる
pull request概要欄は人間とAI向けの宣言を書く場所と考える
コードレビューやbugの確認をする時、pull request概要欄に書かれた宣言が役に立つ
確認項目が3つある場合
AIに「JSをTSに書き直しました。動作が変化してしまっていないか確認してください」と指示するのではなく
pull request概要欄に「いくつかのJSをTSに書き直しました。動作は変更していません」と書く
AIに「API v2を追加したが、API v1の動作は変化してしまっていませんか?後方互換性を維持したいので確認してほしい」と指示するのではなく
pull request概要欄に「API v2を追加した。後方互換性を維持するため、API v1の動作は一切変更していない」と書く
AIに「このブランチで新規実装したserver API全てに、testの実装漏れがないか確認してください」と指示するのではなく
pull request概要欄に「新規実装した全てのserver APIは、アクセス権限を持たないユーザーを拒否する事を確認するtestが実装されている」と書く
そしてAIに「概要欄の説明とコードの実装に齟齬が無いか確認してください」と指示する
概要欄に宣言した記述が間違っていないか、AIが3つともチェックしてくれる
人間は、常に同一のプロンプトを入力するだけでいい。圧倒的に楽
AIによる自動レビューにも繋げられる
複数の要素を眺めて、総合的に正しいか確認できる
賢いmodelで批判的思考の連鎖を使っていれば
人間のレビュアーや、未来の自分にとってもわかりやすい概要欄になる
bugを見つけた後の修正方法を1つに確定しやすく、自動修正しやすい
やらない事とその理由がガードレールとなる
「Codexに確認してもらい、単純なbugであれば修正してください。解決方法が複数ある場合は私に質問してください」
もちろんなぜpull request概要欄を丁寧に書いているのか (shokai)も満たせる
完成力が高まる
「全てを非同期化しました」と言い切れたほうが説明が楽なので、全ての問題を解決する力になる
AIでヴァーッと実装すると人間向けの説明を書く通常の作業が億劫になるかもしれませんが、ちゃんとやるべきですshokai.icon
概要欄を使ったAIレビューが、本当にbugを見つけまくって、修正方法を1つに絞り込めて、自動的ですごいから